package swordoffer.offer03;

import java.util.HashSet;
import java.util.Set;

/**
 * 面试题3：数组中重复的数字
 */
public class Solution {
    public static void main(String[] args) {
        int[] nums = {2,3,1,1,2,1};
        for (int num : nums) {
            System.out.print("数组中的元素有：");
            System.out.println(num);
        }
        int i = findRepeatNumber(nums);
        System.out.print("数组中重复的数字是："+i);
    }
    public static int findRepeatNumber(int[] nums){
        /**
         * 使用哈希表解法
         * 时间复杂度：O(N)
         */
        HashSet<Integer> set = new HashSet<>();
        for(int v : nums){
            if(set.contains(v)){
                return v;
            }
            set.add(v);
        }
        return -1;
    }
}
